/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved.
 * Description: alg remote lookup.
 * Author: liutianming
 * Create: 2022-11-28
 */

#ifndef ALG_BASE_H
#define ALG_BASE_H

#include "hccl_operator.h"

namespace hccl {

using FuncTable = std::map<EmbeddingServiceParam::OperatorType,
    std::function<HcclResult(HcclOperator<EmbeddingServiceParam> *)>>;

class AlgBase {
public:
    explicit AlgBase() {};
    virtual ~AlgBase() = default;
    virtual HcclResult Process(HcclOpPtr opPtr) = 0;
};
}
#endif
